package com.hanamaki.demo03;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.util.concurrent.TimeUnit;

/**
 * 1. 测试 selenium中 iframe 的内联框架的使用
 */
public class SeleniumTemplate05 {

    //注册驱动
    /**
     * driver代表浏览器对象
     */
    WebDriver driver;

    @BeforeMethod
    public void setUp() {
        //注册本地火狐打开的位置
        System.setProperty("webdriver.gecko.driver", "C:\\Program Files\\Mozilla Firefox\\geckodriver.exe");
        //初始化
        driver = new FirefoxDriver();
    }

    @Test
    public void test() throws InterruptedException {

        driver.get("file:///C:/Users/edz/Desktop/testhtml/workspaceHtml/iframeDemo.html");
        /* 点击页面中的  test1 */
//        driver.findElement(By.linkText("test1")).click();
        /* 发现问题 ，元素定位失败 获取不到元素
        * 问题？：是因为我们定位的元素在内联框架中，我们需要切换到内联框架中才能定位到内联框架中的元素
        * 需要使用 switchTo() */

        driver.switchTo().frame("w1");
        driver.findElement(By.linkText("test1")).click();


        /* 点击完毕 test1之后 点击  t1127 */
        /* 出现问题？：内联框架位置不对 */
        driver.switchTo().parentFrame().switchTo().frame("w2");
        driver.findElement(By.linkText("t1127")).click();


    }


    @AfterClass
    public void close() {
//        driver.quit();
    }
}
